#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
const int N = 5e4 + 10;
typedef long long LL;
LL l, n, m;

LL a[N];
LL cal(LL x)
{
	LL ret = 0;
	for (int left = 0 ; left <= n; left++)
	{
		int right = left + 1;
		while (right <= n && a[right] - a[left] < x)
			right++;
		ret += right - left - 1;
		left = right - 1;
	}
	return ret;
}



int main()
{
	cin >> l >> n >> m;
	for (int i = 1; i <= n; i++) cin >> a[i];
	a[n + 1] = l;
	n++;
	LL left = 1, right = l;
	while (left < right)
	{
		LL mid = (left + right + 1) / 2;
		if (cal(mid) > m) right = mid - 1;
		else left = mid;
	}
	cout << left << endl;
	return 0;
}